package klaus;

public class 异常处理 {

	public static void main(String[] args) {
		//捕捉异常();
		try {
			自定义异常();
		} catch (MyException e) {
			System.out.println(e);
		}
	}
	
	
	/*---------------------分割线-------------------------------------*/
	/**
	 * 捕捉异常例子
	 */
	static void 捕捉异常() {
		try {
			int result = 3 / 0;
			System.out.println(result);
		} catch (ArithmeticException e) {
			// e.printStackTrace();
			String message = e.getMessage();
			System.out.println(message);
			String string = e.toString();
			System.out.println(string);
		}
		System.out.println(111);
	}

	/*---------------------分割线-------------------------------------*/
	/**
	 * 自定义异常
	 * @throws MyException
	 */
	static void 自定义异常() throws MyException{
		int result = avg(100, 200);
		System.out.println(result);
	}
	
	/**
	 * 定义方法，抛出异常
	 * @param a
	 * @param b
	 * @return
	 * @throws MyException
	 */
	static int avg(int a, int b) throws MyException {
		if (a < 0 || b < 0) {
			throw new MyException("不可以使用负数");
		}
		if (a>100 || b>100) {
			throw new MyException("数值太大了");
		}
		return (a + b) / 2;
	}
	
	/*---------------------分割线-------------------------------------*/

}



/**
 * 自定义异常类
 * @author liup
 *
 */
@SuppressWarnings("serial")
class MyException extends Exception {
	public MyException(String ErrorMessage) {
		super(ErrorMessage);
	}
}
